//package com.example.waibao.config.scheduled;
//
//
////import com.example.waibao.entity.MonitorTask;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
//
//import java.util.Arrays;
//
///**
// * @Author whh
// * @Date: 2023/03/15/ 20:15
// * @description
// */
//@Configuration
//public class TaskSchedulerConfig {
//
//
//    /**
//     *
//     * 本质是ScheduledThreadPoolExecutor的包装，其中初始化ScheduledThreadPoolExecutor的构造函数如下
//     * 特别的要注意最大线程数为 Integer.MAX_VALUE
//     *
//     *  public ScheduledThreadPoolExecutor(int corePoolSize,
//     *                                        ThreadFactory threadFactory,
//     *                                        RejectedExecutionHandler handler) {
//     *         super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
//     *               new DelayedWorkQueue(), threadFactory, handler);
//     *     }
//     * @return
//     */
//    @Bean
//    public ThreadPoolTaskScheduler threadPoolTaskScheduler(){
//        ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
//        threadPoolTaskScheduler.setPoolSize(3);
//        threadPoolTaskScheduler.setRemoveOnCancelPolicy(true);
//        return threadPoolTaskScheduler;
//    }
//
//    @Bean
//    public ScheduledTaskRegistrar taskRegistrar(ThreadPoolTaskScheduler scheduler){
//        ScheduledTaskRegistrar taskRegistrar = new ScheduledTaskRegistrar(scheduler);
////        MonitorTask moniterTask = new MonitorTask("*/30 * * * * ?");
//        ITask moniterTask = new ITask();
//        moniterTask.setCron("*/30 * * * * ?");
//        moniterTask.setTaskName("监控任务");
//        moniterTask.setTaskDescription("每隔30s对机器进行监控");
//        taskRegistrar.setTaskes(moniterTask);
//        return taskRegistrar;
//    }
//}
//
//
